package com.thinkwide.data.ormapping.annotation;

import com.thinkwide.data.ormapping.enums.MFIdType;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE})
public @interface MFFieldAutoId {

    /**
     * 字段名（该值可无）
     */
    String value() default "";

    /**
     * oralce数据库 Sequence名称
     *
     * @return
     */
    String keySequenceName() default "";

    /**
     * 自定义自增类
     *
     * @return
     */
    String idClass() default "";

    /**
     * 主键类型
     * {@link MFIdType}
     */
    MFIdType type() default MFIdType.NONE;
}